﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Data.SqlClient;
using System.Text;
using System.Data;

namespace DataService
{
    /// <summary>
    /// Summary description for Service1
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    // To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. 
    // [System.Web.Script.Services.ScriptService]
    public class SoaService : System.Web.Services.WebService
    {
        public enum TahsilatTipi : byte
        {
            Nakit = 0,
            Cek = 2,
            Senet = 4,
            KrediKarti = 1,
            Havale = 3
        }

        [WebMethod]
        public String[] ExecuteScalar2(string serverName, string databaseName, string userName, string password, string ayrac, string sqlCommand)
        {
            List<string> lst = new List<string>();
            using (SqlConnection cn = new SqlConnection(string.Format("Data Source={0};Database={1};user id={2};password={3}", serverName, databaseName, userName, password)))
            {
                cn.Open();
                using (SqlCommand cmd = new SqlCommand(sqlCommand, cn))
                {
                    cmd.CommandTimeout = 9999999;
                    SqlDataReader rd = cmd.ExecuteReader();
                    string line = string.Empty;
                    if (rd.HasRows == true)
                        while (rd.Read())
                        {
                            for (int i = 0; i < rd.FieldCount; i++)
                                if ((rd[i] != DBNull.Value))
                                    line += rd[i].ToString() + ayrac;
                                else
                                    line += ayrac;

                            lst.Add(line.Remove(line.Length - 1, 1));
                            line = string.Empty;
                        }
                    rd.Close();
                }
                cn.Close();
            }
            return lst.ToArray();
        }

        [WebMethod]
        public String[] ExecuteScalar(string serverName, string databaseName, string userName, string password, string sqlCommand)
        {
            List<string> lst = new List<string>();
            using (SqlConnection cn = new SqlConnection(string.Format("Data Source={0};Database={1};user id={2};password={3}", serverName, databaseName, userName, password)))
            {
                cn.Open();
                using (SqlCommand cmd = new SqlCommand(sqlCommand, cn))
                {
                    cmd.CommandTimeout = int.MaxValue;
                    SqlDataReader rd = cmd.ExecuteReader();
                    if (rd.HasRows == true)
                        while (rd.Read())
                            lst.Add(rd.GetString(0));
                    rd.Close();
                }
                cn.Close();
            }
            return lst.ToArray();
        }


        [WebMethod]
        public bool EvrakEkle(string[] header, string[] details, string serverName, string databaseName, string userName, string password)
        {
            bool sonuc = false;
            StringBuilder sb = new StringBuilder();
            sb.Append("if exists(select sip_RECno from SIPARISLER where sip_tip=@sip_tip and sip_cins=@sip_cins and sip_evrakno_seri=@sip_evrakno_seri and sip_evrakno_sira=@sip_evrakno_sira and sip_satirno=@sip_satirno )");
            sb.Append("update SIPARISLER set sip_SpecRECno=0,sip_iptal=0,sip_fileid=21,sip_hidden=0,sip_kilitli=0,sip_degisti=0,sip_checksum=0,sip_create_user=@sip_create_user,sip_create_date=@sip_create_date,sip_lastup_user=@sip_lastup_user,sip_lastup_date=@sip_lastup_date,sip_special1='',sip_special2='',sip_special3='',sip_firmano=0,sip_subeno=0,sip_tarih=@sip_tarih,sip_teslim_tarih=@sip_teslim_tarih,sip_belgeno=@sip_belgeno,sip_belge_tarih=@sip_belge_tarih,sip_satici_kod=@sip_satici_kod,sip_musteri_kod=@sip_musteri_kod,sip_stok_kod=@sip_stok_kod,sip_b_fiyat=@sip_b_fiyat,sip_miktar=@sip_miktar,sip_birim_pntr=@sip_birim_pntr,sip_teslim_miktar=0,sip_tutar=@sip_tutar,sip_iskonto_1=@sip_iskonto_1,sip_iskonto_2=@sip_iskonto_2,sip_iskonto_3=@sip_iskonto_3,sip_iskonto_4=@sip_iskonto_4,sip_iskonto_5=@sip_iskonto_5,sip_iskonto_6=0,sip_masraf_1=0,sip_masraf_2=0,sip_masraf_3=0,sip_masraf_4=0,sip_vergi_pntr=@sip_vergi_pntr,sip_vergi=@sip_vergi,sip_masvergi_pntr=0,sip_masvergi=0,sip_aciklama=@aciklama1,sip_aciklama2=@aciklama2,sip_depono=@sip_depono,sip_OnaylayanKulNo=0,sip_vergisiz_fl=0,sip_kapat_fl=0,sip_promosyon_fl=0,sip_cari_sormerk=@sip_cari_sormerk,sip_stok_sormerk=@sip_stok_sormerk,sip_cari_grupno=0,sip_doviz_cinsi=0,sip_doviz_kuru=1,sip_alt_doviz_kuru=1,sip_adresno=1,sip_teslimturu='',sip_cagrilabilir_fl=1,sip_prosiprecDbId=0,sip_prosiprecrecI=0,sip_iskonto1=1,sip_iskonto2=1,sip_iskonto3=1,sip_iskonto4=1,sip_iskonto5=1,sip_iskonto6=1,sip_masraf1=1,sip_masraf2=1,sip_masraf3=1,sip_masraf4=1,sip_isk1=1,sip_isk2=1,sip_isk3=1,sip_isk4=1,sip_isk5=1,sip_isk6=0,sip_mas1=0,sip_mas2=0,sip_mas3=0,sip_mas4=0,sip_Exp_Imp_Kodu='',sip_kar_orani=0,sip_durumu=0,sip_stalRecId_DBCno=0,sip_stalRecId_RECno=0,sip_planlananmiktar=0,sip_teklifRecId_DBCno=0,sip_teklifRecId_RECno=0,sip_parti_kodu='',sip_lot_no=0,sip_projekodu='',sip_fiyat_liste_no=0,sip_Otv_Pntr=0,sip_Otv_Vergi=0,sip_otvtutari=0,sip_OtvVergisiz_Fl=0,sip_paket_kod='',sip_RezRecId_DBCno=0,sip_RezRecId_RECno=0,sip_harekettipi=0,sip_yetkili_recid_dbcno=0,sip_yetkili_recid_recno=0,sip_kapatmanedenkod='',sip_opno=@vade where sip_tip='1' and sip_cins='0' and sip_evrakno_seri='SIP' and sip_evrakno_sira='1' and sip_satirno='0'  else ");
            sb.Append("insert into SIPARISLER (sip_RECid_DBCno,sip_RECid_RECno,sip_SpecRECno,sip_iptal,sip_fileid,sip_hidden,sip_kilitli,sip_degisti,sip_checksum,sip_create_user,sip_create_date,sip_lastup_user,sip_lastup_date,sip_special1,sip_special2,sip_special3,sip_firmano,sip_subeno,sip_tarih,sip_teslim_tarih,sip_tip,sip_cins,sip_evrakno_seri,sip_evrakno_sira,sip_satirno,sip_belgeno,sip_belge_tarih,sip_satici_kod,sip_musteri_kod,sip_stok_kod,sip_b_fiyat,sip_miktar,sip_birim_pntr,sip_teslim_miktar,sip_tutar,sip_iskonto_1,sip_iskonto_2,sip_iskonto_3,sip_iskonto_4,sip_iskonto_5,sip_iskonto_6,sip_masraf_1,sip_masraf_2,sip_masraf_3,sip_masraf_4,sip_vergi_pntr,sip_vergi,sip_masvergi_pntr,sip_masvergi,sip_aciklama,sip_aciklama2,sip_depono,sip_OnaylayanKulNo,sip_vergisiz_fl,sip_kapat_fl,sip_promosyon_fl,sip_cari_sormerk,sip_stok_sormerk,sip_cari_grupno,sip_doviz_cinsi,sip_doviz_kuru,sip_alt_doviz_kuru,sip_adresno,sip_teslimturu,sip_cagrilabilir_fl,sip_prosiprecDbId,sip_prosiprecrecI,sip_iskonto1,sip_iskonto2,sip_iskonto3,sip_iskonto4,sip_iskonto5,sip_iskonto6,sip_masraf1,sip_masraf2,sip_masraf3,sip_masraf4,sip_isk1,sip_isk2,sip_isk3,sip_isk4,sip_isk5,sip_isk6,sip_mas1,sip_mas2,sip_mas3,sip_mas4,sip_Exp_Imp_Kodu,sip_kar_orani,sip_durumu,sip_stalRecId_DBCno,sip_stalRecId_RECno,sip_planlananmiktar,sip_teklifRecId_DBCno,sip_teklifRecId_RECno,sip_parti_kodu,sip_lot_no,sip_projekodu,sip_fiyat_liste_no,sip_Otv_Pntr,sip_Otv_Vergi,sip_otvtutari,sip_OtvVergisiz_Fl,sip_paket_kod,sip_RezRecId_DBCno,sip_RezRecId_RECno,sip_harekettipi,sip_yetkili_recid_dbcno,sip_yetkili_recid_recno,sip_kapatmanedenkod,sip_opno) values (0,-1,0,0,21,0,0,0,0,@sip_create_user,@sip_create_date,@sip_lastup_user,@sip_lastup_date,'','','',0,0,@sip_tarih,@sip_teslim_tarih,@sip_tip,@sip_cins,@sip_evrakno_seri,@sip_evrakno_sira,@sip_satirno,@sip_belgeno,@sip_belge_tarih,@sip_satici_kod,@sip_musteri_kod,@sip_stok_kod,@sip_b_fiyat,@sip_miktar,@sip_birim_pntr,0,@sip_tutar,@sip_iskonto_1,@sip_iskonto_2,@sip_iskonto_3,@sip_iskonto_4,@sip_iskonto_5,0,0,0,0,0,@sip_vergi_pntr,@sip_vergi,0,0,@aciklama1,@aciklama2,@sip_depono,0,0,0,0,@sip_cari_sormerk,@sip_stok_sormerk,0,0,1,1,1,'',1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,'',0,0,0,0,0,0,0,'',0,'',0,0,0,0,0,'',0,0,0,0,0,'',@vade) ");
            sb.Append(";update SIPARISLER set sip_RECid_RECno=sip_RECno where sip_RECid_RECno=-1");

            using (SqlConnection cn = new SqlConnection(string.Format("Data Source={0};Database={1};user id={2};password={3}", serverName, databaseName, userName, password)))
            {
                cn.Open();
                SqlTransaction trn = cn.BeginTransaction();

                using (SqlCommand cmd = new SqlCommand(sb.ToString(), cn))
                {
                    cmd.Transaction = trn;
                    cmd.Parameters.Add("@sip_tip", SqlDbType.TinyInt).Value = header[1];
                    cmd.Parameters.Add("@sip_cins", SqlDbType.TinyInt).Value = header[2];
                    cmd.Parameters.Add("@sip_evrakno_seri", SqlDbType.VarChar, 6).Value = header[3];
                    cmd.Parameters.Add("@sip_evrakno_sira", SqlDbType.Int).Value = header[4];
                    cmd.Parameters.Add("@sip_create_user", SqlDbType.VarChar).Value = header[12];
                    cmd.Parameters.Add("@sip_create_date", SqlDbType.DateTime).Value = DateTime.Now;
                    cmd.Parameters.Add("@sip_lastup_user", SqlDbType.VarChar).Value = header[12];
                    cmd.Parameters.Add("@sip_lastup_date", SqlDbType.DateTime).Value = DateTime.Now;
                    cmd.Parameters.Add("@sip_tarih", SqlDbType.DateTime).Value = Convert.ToDateTime(header[5]);
                    cmd.Parameters.Add("@sip_teslim_tarih", SqlDbType.DateTime).Value = Convert.ToDateTime(header[5]);
                    cmd.Parameters.Add("@sip_belgeno", SqlDbType.VarChar).Value = header[6];
                    cmd.Parameters.Add("@sip_belge_tarih", SqlDbType.DateTime).Value = Convert.ToDateTime(header[5]);
                    cmd.Parameters.Add("@sip_satici_kod", SqlDbType.VarChar, 25).Value = header[7];
                    cmd.Parameters.Add("@sip_musteri_kod", SqlDbType.VarChar).Value = header[8];
                    cmd.Parameters.Add("@sip_depono", SqlDbType.VarChar).Value = header[9];
                    cmd.Parameters.Add("@sip_cari_sormerk", SqlDbType.VarChar, 25).Value = header[10];
                    cmd.Parameters.Add("@sip_stok_sormerk", SqlDbType.VarChar, 25).Value = header[10];
                    cmd.Parameters.Add("@vade", SqlDbType.Int).Value = header[11];



                    cmd.Parameters.Add("@sip_stok_kod", SqlDbType.VarChar, 25);
                    cmd.Parameters.Add("@sip_b_fiyat", SqlDbType.Float);
                    cmd.Parameters.Add("@sip_miktar", SqlDbType.Float);
                    cmd.Parameters.Add("@sip_birim_pntr", SqlDbType.TinyInt).Value = 1;
                    cmd.Parameters.Add("@sip_tutar", SqlDbType.Float);
                    cmd.Parameters.Add("@sip_iskonto_1", SqlDbType.Float);
                    cmd.Parameters.Add("@sip_iskonto_2", SqlDbType.Float);
                    cmd.Parameters.Add("@sip_iskonto_3", SqlDbType.Float);
                    cmd.Parameters.Add("@sip_iskonto_4", SqlDbType.Float);
                    cmd.Parameters.Add("@sip_iskonto_5", SqlDbType.Float);
                    cmd.Parameters.Add("@sip_vergi_pntr", SqlDbType.VarChar);
                    cmd.Parameters.Add("@sip_vergi", SqlDbType.Float);
                    cmd.Parameters.Add("@sip_satirno", SqlDbType.Int);
                    cmd.Parameters.Add("@aciklama1", SqlDbType.VarChar, 40);
                    cmd.Parameters.Add("@aciklama2", SqlDbType.VarChar, 40);

                    for (int i = 0; i < details.Length; i++)
                    {
                        string[] fields = details[i].Split(';');
                        cmd.Parameters["@sip_satirno"].Value = i;
                        cmd.Parameters["@sip_stok_kod"].Value = fields[0];
                        cmd.Parameters["@sip_b_fiyat"].Value = fields[1];
                        cmd.Parameters["@sip_miktar"].Value = fields[2];
                        cmd.Parameters["@sip_tutar"].Value = fields[3];
                        cmd.Parameters["@sip_iskonto_1"].Value = fields[4];
                        cmd.Parameters["@sip_iskonto_2"].Value = fields[5];
                        cmd.Parameters["@sip_iskonto_3"].Value = fields[6];
                        cmd.Parameters["@sip_iskonto_4"].Value = fields[7];
                        cmd.Parameters["@sip_iskonto_5"].Value = fields[8];
                        cmd.Parameters["@sip_vergi_pntr"].Value = fields[9];
                        cmd.Parameters["@sip_vergi"].Value = fields[10];

                        if (fields[11].Length > 40)
                        {
                            cmd.Parameters["@aciklama1"].Value = fields[11].Substring(0, 40);
                            cmd.Parameters["@aciklama2"].Value = fields[11].Substring(40);
                        }
                        else
                        {
                            cmd.Parameters["@aciklama1"].Value = fields[11];
                            cmd.Parameters["@aciklama2"].Value = "";
                        }
                        cmd.ExecuteNonQuery();
                    }

                    try
                    {
                        trn.Commit();
                        cn.Close();
                        sonuc = true;
                    }
                    catch (Exception)
                    {
                        if (trn != null)
                        {
                            trn.Rollback();
                        }
                    }
                }
            }
            return sonuc;
        }

        [WebMethod]
        public bool TahsilatKayit(string[] Lines, string serverName, string databaseName, string userName, string password)
        {
            #region Değişkenler
            TahsilatTipi evrakTipi = TahsilatTipi.Nakit;
            string EvrakSeri;
            int EvrakSira;
            int EvrakSatir;
            string BelgeNo;
            DateTime EvrakTarihi;
            DateTime VadeTarihi;
            string SaticiKodu;
            string CariKodu;
            string SrmMerkezi;
            string ReferansNo;
            string CekSenetNo;
            decimal Meblag;
            string Aciklama;
            string NakitKasaKodu;
            string CekKasaKodu;
            string SenetKasaKodu;
            string KrediKartiBankaKodu;
            string DepoKodu;
            #endregion

            string kasahizkod = string.Empty;
            string refNo = string.Empty;

            switch (Lines[0])
            {
                case "0":
                    evrakTipi = TahsilatTipi.Nakit;
                    break;
                case "1":
                    evrakTipi = TahsilatTipi.Cek;
                    break;
                case "2":
                    evrakTipi = TahsilatTipi.Senet;
                    break;
                case "3":
                    evrakTipi = TahsilatTipi.KrediKarti;
                    break;
            }
            EvrakSeri = Lines[1];
            EvrakSira = Convert.ToInt32(Lines[2]);
            EvrakSatir = Convert.ToInt32(Lines[3]);
            BelgeNo = Lines[4];
            EvrakTarihi = Convert.ToDateTime(Lines[5]);
            VadeTarihi = Convert.ToDateTime(Lines[6]);
            SaticiKodu = Lines[7];
            CariKodu = Lines[8];
            SrmMerkezi = Lines[9];
            ReferansNo = Lines[10];
            CekSenetNo = Lines[11];
            Meblag = Convert.ToDecimal(Lines[12]);
            Aciklama = Lines[13];
            NakitKasaKodu = Lines[14];
            CekKasaKodu = Lines[15];
            SenetKasaKodu = Lines[16];
            KrediKartiBankaKodu = Lines[17];
            DepoKodu = Lines[18];

            switch (evrakTipi)
            {
                case TahsilatTipi.Nakit:
                    kasahizkod = NakitKasaKodu;
                    refNo = "";
                    break;
                case TahsilatTipi.Cek:
                    kasahizkod = CekKasaKodu;
                    refNo = ReferansNo;
                    break;
                case TahsilatTipi.Senet:
                    kasahizkod = SenetKasaKodu;
                    refNo = ReferansNo;
                    break;
                case TahsilatTipi.KrediKarti:
                    kasahizkod = KrediKartiBankaKodu;
                    refNo = ReferansNo;
                    break;
            }
            TahsilatEkle(serverName, databaseName, userName, password, evrakTipi, EvrakTarihi, EvrakSeri, EvrakSira, EvrakSatir, CariKodu, kasahizkod, Meblag, refNo, SrmMerkezi, VadeTarihi, "", "", "", "", "", CekSenetNo, DepoKodu, SaticiKodu);
            return true;
        }


        private string TahsilatEkle(string serverName, string databaseName, string userName, string password, TahsilatTipi tahsilatTipi, DateTime tarih, string seri, int sira, int satir, string cariKodu, string kasaHizKod, decimal meblag, string refNo, string srmMerkez, DateTime vade, string bankaAdi, string subeAdi, string hesapNo, string kesideYeri, string kartNo, string cekNo, string depoKod, string plasiyerKod)
        {
            #region Evrak Tip Cins
            int tip = 1;
            int cins = 0;
            int normIade = 0;
            int evrTip = 1;
            int hizTip = 4;
            int senetcekPoz = 0;
            int karsidgrupno = 0;

            switch (tahsilatTipi)
            {
                case TahsilatTipi.Nakit:
                    tip = 1;
                    cins = 0;
                    normIade = 0;
                    evrTip = 1;
                    hizTip = 4;
                    break;
                case TahsilatTipi.Cek:
                    tip = 1;
                    cins = 1;
                    normIade = 0;
                    evrTip = 1;
                    hizTip = 4;
                    break;
                case TahsilatTipi.Senet:
                    tip = 1;
                    cins = 2;
                    normIade = 0;
                    evrTip = 1;
                    hizTip = 4;
                    break;
                case TahsilatTipi.KrediKarti:
                    tip = 1;
                    cins = 19;
                    normIade = 0;
                    evrTip = 1;
                    hizTip = 2;
                    senetcekPoz = 2;
                    karsidgrupno = 7;
                    break;
                case TahsilatTipi.Havale:
                    tip = 1;
                    cins = 17;
                    normIade = 0;
                    evrTip = 1;
                    hizTip = 2;
                    senetcekPoz = 2;
                    karsidgrupno = 9;
                    break;
            }
            #endregion

            string sql = "insert into CARI_HESAP_HAREKETLERI (cha_RECid_DBCno,cha_RECid_RECno,cha_SpecRecNo,cha_iptal,cha_fileid,cha_hidden,cha_kilitli,cha_degisti,cha_CheckSum,cha_create_user,cha_create_date,cha_lastup_user,cha_lastup_date,cha_special1,cha_special2,cha_special3,cha_firmano,cha_subeno,cha_tarihi,cha_tip,cha_cinsi,cha_normal_Iade,cha_evrak_tip,cha_satir_no,cha_evrakno_seri,cha_evrakno_sira,cha_belge_no,cha_belge_tarih,cha_cari_cins,cha_kod,cha_kasa_hizmet,cha_kasa_hizkod,cha_d_kurtar,cha_d_cins,cha_d_kur,cha_altd_kur,cha_grupno,cha_meblag,cha_vade,cha_fis_tarih,cha_fis_sirano,cha_ft_iskonto1,cha_ft_iskonto2,cha_ft_iskonto3,cha_ft_iskonto4,cha_ft_iskonto5,cha_ft_iskonto6,cha_ft_masraf1,cha_ft_masraf2,cha_ft_masraf3,cha_ft_masraf4,cha_vergi1,cha_vergi2,cha_vergi3,cha_vergi4,cha_vergi5,cha_vergi6,cha_vergi7,cha_vergi8,cha_vergi9,cha_vergi10,cha_yuvarlama,cha_tpoz,cha_aciklama,cha_trefno,cha_sntck_poz,cha_karsidcinsi,cha_karsid_kur,cha_karsidgrupno,cha_srmrkkodu,cha_reftarihi,cha_odeme_arr1,cha_odeme_arr2,cha_odeme_arr3,cha_odeme_arr4,cha_odeme_arr5,cha_odeme_arr6,cha_odeme_arr7,cha_odeme_arr8,cha_miktari,cha_aratoplam,cha_vergipntr,cha_istisnakodu,cha_ver_tev_carpani,cha_stopaj,cha_savsandesfonu,cha_vergisiz_fl,cha_satici_kodu,cha_mustahsil_borsa,cha_mustahsil_bagkur,cha_mustahsil_diger,cha_HalMSDF,cha_HalHamaliye,cha_HalStopaj,cha_HalKomisyonu,cha_StFonPntr,cha_pos_hareketi,cha_vardiya_tarihi,cha_vardiya_no,cha_vardiya_evrak_ti,cha_HalRusum,cha_HalNavlunTut,cha_HalRehinFuture,cha_HalKomisyon,cha_Vade_Farki_Yuz,cha_karsisrmrkkodu,cha_EXIMkodu,cha_HalRehinSandikmiktari,cha_HalSandikVrMiktar,cha_HalSandikTutari,cha_HalSandikKDVTutari,cha_HalrehinSandikTutari,cha_Tevkifat_turu,cha_ticaret_turu,cha_otvtutari,cha_otvvergisiz_fl,cha_projekodu,cha_sozlesme_DBCno,cha_sozlesme_RECno,cha_yat_tes_kodu,cha_ciro_cari_kodu,cha_oivergisiz_fl,cha_meblag_ana_doviz_icin_gecersiz_fl,cha_meblag_alt_doviz_icin_gecersiz_fl,cha_meblag_orj_doviz_icin_gecersiz_fl,cha_ciroprim_DBCno,cha_ciroprim_RECno,cha_HalHamaliyeKdv,cha_HalHamaliyeVergisiz_fl) values (@cha_RECid_DBCno,@cha_RECid_RECno,@cha_SpecRecNo,@cha_iptal,@cha_fileid,@cha_hidden,@cha_kilitli,@cha_degisti,@cha_CheckSum,@cha_create_user,@cha_create_date,@cha_lastup_user,@cha_lastup_date,@cha_special1,@cha_special2,@cha_special3,@cha_firmano,@cha_subeno,@cha_tarihi,@cha_tip,@cha_cinsi,@cha_normal_Iade,@cha_evrak_tip,@cha_satir_no,@cha_evrakno_seri,@cha_evrakno_sira,@cha_belge_no,@cha_belge_tarih,@cha_cari_cins,@cha_kod,@cha_kasa_hizmet,@cha_kasa_hizkod,@cha_d_kurtar,@cha_d_cins,@cha_d_kur,@cha_altd_kur,@cha_grupno,@cha_meblag,@cha_vade,@cha_fis_tarih,@cha_fis_sirano,@cha_ft_iskonto1,@cha_ft_iskonto2,@cha_ft_iskonto3,@cha_ft_iskonto4,@cha_ft_iskonto5,@cha_ft_iskonto6,@cha_ft_masraf1,@cha_ft_masraf2,@cha_ft_masraf3,@cha_ft_masraf4,@cha_vergi1,@cha_vergi2,@cha_vergi3,@cha_vergi4,@cha_vergi5,@cha_vergi6,@cha_vergi7,@cha_vergi8,@cha_vergi9,@cha_vergi10,@cha_yuvarlama,@cha_tpoz,@cha_aciklama,@cha_trefno,@cha_sntck_poz,@cha_karsidcinsi,@cha_karsid_kur,@cha_karsidgrupno,@cha_srmrkkodu,@cha_reftarihi,@cha_odeme_arr1,@cha_odeme_arr2,@cha_odeme_arr3,@cha_odeme_arr4,@cha_odeme_arr5,@cha_odeme_arr6,@cha_odeme_arr7,@cha_odeme_arr8,@cha_miktari,@cha_aratoplam,@cha_vergipntr,@cha_istisnakodu,@cha_ver_tev_carpani,@cha_stopaj,@cha_savsandesfonu,@cha_vergisiz_fl,@cha_satici_kodu,@cha_mustahsil_borsa,@cha_mustahsil_bagkur,@cha_mustahsil_diger,@cha_HalMSDF,@cha_HalHamaliye,@cha_HalStopaj,@cha_HalKomisyonu,@cha_StFonPntr,@cha_pos_hareketi,@cha_vardiya_tarihi,@cha_vardiya_no,@cha_vardiya_evrak_ti,@cha_HalRusum,@cha_HalNavlunTut,@cha_HalRehinFuture,@cha_HalKomisyon,@cha_Vade_Farki_Yuz,@cha_karsisrmrkkodu,@cha_EXIMkodu,@cha_HalRehinSandikmiktari,@cha_HalSandikVrMiktar,@cha_HalSandikTutari,@cha_HalSandikKDVTutari,@cha_HalrehinSandikTutari,@cha_Tevkifat_turu,@cha_ticaret_turu,@cha_otvtutari,@cha_otvvergisiz_fl,@cha_projekodu,@cha_sozlesme_DBCno,@cha_sozlesme_RECno,@cha_yat_tes_kodu,@cha_ciro_cari_kodu,@cha_oivergisiz_fl,@cha_meblag_ana_doviz_icin_gecersiz_fl,@cha_meblag_alt_doviz_icin_gecersiz_fl,@cha_meblag_orj_doviz_icin_gecersiz_fl,@cha_ciroprim_DBCno,@cha_ciroprim_RECno,@cha_HalHamaliyeKdv,@cha_HalHamaliyeVergisiz_fl);UPDATE CARI_HESAP_HAREKETLERI SET cha_RECid_RECno=cha_RECno WHERE cha_RECid_RECno=-1";
            using (SqlConnection cn = new SqlConnection(string.Format("Data Source={0};Database={1};user id={2};password={3}", serverName, databaseName, userName, password)))
            {
                using (SqlCommand cmd = new SqlCommand(sql, cn))
                {
                    cmd.Parameters.Add("@cha_RECid_DBCno", SqlDbType.SmallInt).Value = 0;
                    cmd.Parameters.Add("@cha_RECid_RECno", SqlDbType.Int).Value = -1; //geri dönüp identity alanın değerini buraya set edicez
                    cmd.Parameters.Add("@cha_SpecRecNo", SqlDbType.Int).Value = 0;
                    cmd.Parameters.Add("@cha_iptal", SqlDbType.Bit).Value = false;
                    cmd.Parameters.Add("@cha_fileid", SqlDbType.SmallInt).Value = 51;
                    cmd.Parameters.Add("@cha_hidden", SqlDbType.Bit).Value = false;
                    cmd.Parameters.Add("@cha_kilitli", SqlDbType.Bit).Value = false;
                    cmd.Parameters.Add("@cha_degisti", SqlDbType.Bit).Value = false;
                    cmd.Parameters.Add("@cha_CheckSum", SqlDbType.Int).Value = 0;
                    cmd.Parameters.Add("@cha_create_user", SqlDbType.SmallInt).Value = 0;
                    cmd.Parameters.Add("@cha_create_date", SqlDbType.DateTime).Value = DateTime.Now;
                    cmd.Parameters.Add("@cha_lastup_user", SqlDbType.SmallInt).Value = 0;
                    cmd.Parameters.Add("@cha_lastup_date", SqlDbType.DateTime).Value = DateTime.Now;
                    cmd.Parameters.Add("@cha_special1", SqlDbType.VarChar).Value = "";
                    cmd.Parameters.Add("@cha_special2", SqlDbType.VarChar).Value = "";
                    cmd.Parameters.Add("@cha_special3", SqlDbType.VarChar).Value = "";
                    cmd.Parameters.Add("@cha_firmano", SqlDbType.Int).Value = 0;
                    cmd.Parameters.Add("@cha_subeno", SqlDbType.Int).Value = 0;
                    cmd.Parameters.Add("@cha_tarihi", SqlDbType.DateTime).Value = tarih;
                    cmd.Parameters.Add("@cha_tip", SqlDbType.TinyInt).Value = tip;
                    cmd.Parameters.Add("@cha_cinsi", SqlDbType.TinyInt).Value = cins;
                    cmd.Parameters.Add("@cha_normal_Iade", SqlDbType.TinyInt).Value = normIade;
                    cmd.Parameters.Add("@cha_evrak_tip", SqlDbType.TinyInt).Value = evrTip;
                    cmd.Parameters.Add("@cha_satir_no", SqlDbType.Int).Value = satir;
                    cmd.Parameters.Add("@cha_evrakno_seri", SqlDbType.VarChar).Value = seri;
                    cmd.Parameters.Add("@cha_evrakno_sira", SqlDbType.Int).Value = sira;
                    cmd.Parameters.Add("@cha_belge_no", SqlDbType.VarChar).Value = "";
                    cmd.Parameters.Add("@cha_belge_tarih", SqlDbType.DateTime).Value = new DateTime(tarih.Year, tarih.Month, tarih.Day);
                    cmd.Parameters.Add("@cha_cari_cins", SqlDbType.TinyInt).Value = 0;
                    cmd.Parameters.Add("@cha_kod", SqlDbType.VarChar).Value = cariKodu;
                    cmd.Parameters.Add("@cha_kasa_hizmet", SqlDbType.TinyInt).Value = hizTip;
                    cmd.Parameters.Add("@cha_kasa_hizkod", SqlDbType.VarChar).Value = kasaHizKod;
                    cmd.Parameters.Add("@cha_d_kurtar", SqlDbType.DateTime).Value = "1899-12-30 00:00:00";
                    cmd.Parameters.Add("@cha_d_cins", SqlDbType.TinyInt).Value = 0;
                    cmd.Parameters.Add("@cha_d_kur", SqlDbType.Float).Value = 1;
                    cmd.Parameters.Add("@cha_altd_kur", SqlDbType.Float).Value = "1,4907";
                    cmd.Parameters.Add("@cha_grupno", SqlDbType.TinyInt).Value = 0;
                    cmd.Parameters.Add("@cha_meblag", SqlDbType.Float).Value = meblag;
                    cmd.Parameters.Add("@cha_vade", SqlDbType.Int).Value = int.Parse(vade.Year.ToString() + vade.Month.ToString("00") + vade.Day.ToString("00"));
                    cmd.Parameters.Add("@cha_fis_tarih", SqlDbType.DateTime).Value = "1899-12-30 00:00:00";
                    cmd.Parameters.Add("@cha_fis_sirano", SqlDbType.Int).Value = 0;
                    cmd.Parameters.Add("@cha_ft_iskonto1", SqlDbType.Float).Value = 0;
                    cmd.Parameters.Add("@cha_ft_iskonto2", SqlDbType.Float).Value = 0;
                    cmd.Parameters.Add("@cha_ft_iskonto3", SqlDbType.Float).Value = 0;
                    cmd.Parameters.Add("@cha_ft_iskonto4", SqlDbType.Float).Value = 0;
                    cmd.Parameters.Add("@cha_ft_iskonto5", SqlDbType.Float).Value = 0;
                    cmd.Parameters.Add("@cha_ft_iskonto6", SqlDbType.Float).Value = 0;
                    cmd.Parameters.Add("@cha_ft_masraf1", SqlDbType.Float).Value = 0;
                    cmd.Parameters.Add("@cha_ft_masraf2", SqlDbType.Float).Value = 0;
                    cmd.Parameters.Add("@cha_ft_masraf3", SqlDbType.Float).Value = 0;
                    cmd.Parameters.Add("@cha_ft_masraf4", SqlDbType.Float).Value = 0;
                    cmd.Parameters.Add("@cha_vergi1", SqlDbType.Float).Value = 0;
                    cmd.Parameters.Add("@cha_vergi2", SqlDbType.Float).Value = 0;
                    cmd.Parameters.Add("@cha_vergi3", SqlDbType.Float).Value = 0;
                    cmd.Parameters.Add("@cha_vergi4", SqlDbType.Float).Value = 0;
                    cmd.Parameters.Add("@cha_vergi5", SqlDbType.Float).Value = 0;
                    cmd.Parameters.Add("@cha_vergi6", SqlDbType.Float).Value = 0;
                    cmd.Parameters.Add("@cha_vergi7", SqlDbType.Float).Value = 0;
                    cmd.Parameters.Add("@cha_vergi8", SqlDbType.Float).Value = 0;
                    cmd.Parameters.Add("@cha_vergi9", SqlDbType.Float).Value = 0;
                    cmd.Parameters.Add("@cha_vergi10", SqlDbType.Float).Value = 0;
                    cmd.Parameters.Add("@cha_yuvarlama", SqlDbType.Float).Value = 0;
                    cmd.Parameters.Add("@cha_tpoz", SqlDbType.TinyInt).Value = 0;
                    cmd.Parameters.Add("@cha_aciklama", SqlDbType.VarChar).Value = "";
                    cmd.Parameters.Add("@cha_trefno", SqlDbType.VarChar).Value = refNo; //çek,kredi kartı,senet,havale referans numaraları
                    cmd.Parameters.Add("@cha_sntck_poz", SqlDbType.TinyInt).Value = senetcekPoz;
                    cmd.Parameters.Add("@cha_karsidcinsi", SqlDbType.TinyInt).Value = 0;
                    cmd.Parameters.Add("@cha_karsid_kur", SqlDbType.Float).Value = 1;
                    cmd.Parameters.Add("@cha_karsidgrupno", SqlDbType.TinyInt).Value = karsidgrupno;
                    cmd.Parameters.Add("@cha_srmrkkodu", SqlDbType.VarChar).Value = srmMerkez;
                    cmd.Parameters.Add("@cha_reftarihi", SqlDbType.DateTime).Value = "1899-12-30 00:00:00";
                    cmd.Parameters.Add("@cha_odeme_arr1", SqlDbType.Float).Value = 0;
                    cmd.Parameters.Add("@cha_odeme_arr2", SqlDbType.Float).Value = 0;
                    cmd.Parameters.Add("@cha_odeme_arr3", SqlDbType.Float).Value = 0;
                    cmd.Parameters.Add("@cha_odeme_arr4", SqlDbType.Float).Value = 0;
                    cmd.Parameters.Add("@cha_odeme_arr5", SqlDbType.Float).Value = 0;
                    cmd.Parameters.Add("@cha_odeme_arr6", SqlDbType.Float).Value = 0;
                    cmd.Parameters.Add("@cha_odeme_arr7", SqlDbType.Float).Value = 0;
                    cmd.Parameters.Add("@cha_odeme_arr8", SqlDbType.Float).Value = 0;
                    cmd.Parameters.Add("@cha_miktari", SqlDbType.Float).Value = 0;
                    cmd.Parameters.Add("@cha_aratoplam", SqlDbType.Float).Value = meblag;
                    cmd.Parameters.Add("@cha_vergipntr", SqlDbType.TinyInt).Value = 0;
                    cmd.Parameters.Add("@cha_istisnakodu", SqlDbType.TinyInt).Value = 0;
                    cmd.Parameters.Add("@cha_ver_tev_carpani", SqlDbType.Float).Value = 0;
                    cmd.Parameters.Add("@cha_stopaj", SqlDbType.Float).Value = 0;
                    cmd.Parameters.Add("@cha_savsandesfonu", SqlDbType.Float).Value = 0;
                    cmd.Parameters.Add("@cha_vergisiz_fl", SqlDbType.Bit).Value = false;
                    cmd.Parameters.Add("@cha_satici_kodu", SqlDbType.VarChar).Value = plasiyerKod;
                    cmd.Parameters.Add("@cha_mustahsil_borsa", SqlDbType.Float).Value = 0;
                    cmd.Parameters.Add("@cha_mustahsil_bagkur", SqlDbType.Float).Value = 0;
                    cmd.Parameters.Add("@cha_mustahsil_diger", SqlDbType.Float).Value = 0;
                    cmd.Parameters.Add("@cha_HalMSDF", SqlDbType.Float).Value = 0;
                    cmd.Parameters.Add("@cha_HalHamaliye", SqlDbType.Float).Value = 0;
                    cmd.Parameters.Add("@cha_HalStopaj", SqlDbType.Float).Value = 0;
                    cmd.Parameters.Add("@cha_HalKomisyonu", SqlDbType.Float).Value = 0;
                    cmd.Parameters.Add("@cha_StFonPntr", SqlDbType.TinyInt).Value = 0;
                    cmd.Parameters.Add("@cha_pos_hareketi", SqlDbType.Bit).Value = false;
                    cmd.Parameters.Add("@cha_vardiya_tarihi", SqlDbType.DateTime).Value = "1899-12-30 00:00:00";
                    cmd.Parameters.Add("@cha_vardiya_no", SqlDbType.TinyInt).Value = 0;
                    cmd.Parameters.Add("@cha_vardiya_evrak_ti", SqlDbType.TinyInt).Value = 0;
                    cmd.Parameters.Add("@cha_HalRusum", SqlDbType.Float).Value = 0;
                    cmd.Parameters.Add("@cha_HalNavlunTut", SqlDbType.Float).Value = 0;
                    cmd.Parameters.Add("@cha_HalRehinFuture", SqlDbType.Float).Value = 0;
                    cmd.Parameters.Add("@cha_HalKomisyon", SqlDbType.Float).Value = 0;
                    cmd.Parameters.Add("@cha_Vade_Farki_Yuz", SqlDbType.Float).Value = 0;
                    cmd.Parameters.Add("@cha_karsisrmrkkodu", SqlDbType.VarChar).Value = srmMerkez;
                    cmd.Parameters.Add("@cha_EXIMkodu", SqlDbType.VarChar).Value = "";
                    cmd.Parameters.Add("@cha_HalRehinSandikmiktari", SqlDbType.Float).Value = 0;
                    cmd.Parameters.Add("@cha_HalSandikVrMiktar", SqlDbType.Float).Value = 0;
                    cmd.Parameters.Add("@cha_HalSandikTutari", SqlDbType.Float).Value = 0;
                    cmd.Parameters.Add("@cha_HalSandikKDVTutari", SqlDbType.Float).Value = 0;
                    cmd.Parameters.Add("@cha_HalrehinSandikTutari", SqlDbType.Float).Value = 0;
                    cmd.Parameters.Add("@cha_Tevkifat_turu", SqlDbType.TinyInt).Value = 0;
                    cmd.Parameters.Add("@cha_ticaret_turu", SqlDbType.TinyInt).Value = 0;
                    cmd.Parameters.Add("@cha_otvtutari", SqlDbType.Float).Value = 0;
                    cmd.Parameters.Add("@cha_otvvergisiz_fl", SqlDbType.Bit).Value = false;
                    cmd.Parameters.Add("@cha_projekodu", SqlDbType.VarChar).Value = "";
                    cmd.Parameters.Add("@cha_sozlesme_DBCno", SqlDbType.SmallInt).Value = 0;
                    cmd.Parameters.Add("@cha_sozlesme_RECno", SqlDbType.Int).Value = 0;
                    cmd.Parameters.Add("@cha_yat_tes_kodu", SqlDbType.VarChar).Value = "";
                    cmd.Parameters.Add("@cha_ciro_cari_kodu", SqlDbType.VarChar).Value = "";
                    cmd.Parameters.Add("@cha_oivergisiz_fl", SqlDbType.Bit).Value = false;
                    cmd.Parameters.Add("@cha_meblag_ana_doviz_icin_gecersiz_fl", SqlDbType.TinyInt).Value = 0;
                    cmd.Parameters.Add("@cha_meblag_alt_doviz_icin_gecersiz_fl", SqlDbType.TinyInt).Value = 0;
                    cmd.Parameters.Add("@cha_meblag_orj_doviz_icin_gecersiz_fl", SqlDbType.TinyInt).Value = 0;
                    cmd.Parameters.Add("@cha_ciroprim_DBCno", SqlDbType.SmallInt).Value = 0;
                    cmd.Parameters.Add("@cha_ciroprim_RECno", SqlDbType.Int).Value = 0;
                    cmd.Parameters.Add("@cha_HalHamaliyeKdv", SqlDbType.Float).Value = 0;
                    cmd.Parameters.Add("@cha_HalHamaliyeVergisiz_fl", SqlDbType.Bit).Value = false;

                    cn.Open();
                    cmd.ExecuteNonQuery();

                    switch (tahsilatTipi)
                    {
                        case TahsilatTipi.Cek:
                            OdemeEmriEkle(serverName, databaseName, userName, password, refNo, vade, meblag, bankaAdi, subeAdi, hesapNo, cekNo, cariKodu, seri, sira, kesideYeri, "", 1);
                            break;
                        case TahsilatTipi.KrediKarti:
                            OdemeEmriEkle(serverName, databaseName, userName, password, refNo, vade, meblag, bankaAdi, subeAdi, hesapNo, refNo, cariKodu, seri, sira, "", kartNo, 0);
                            break;
                        case TahsilatTipi.Havale:
                            OdemeEmriEkle(serverName, databaseName, userName, password, refNo, vade, meblag, bankaAdi, subeAdi, hesapNo, "", cariKodu, seri, sira, "", "", 2);
                            break;
                        case TahsilatTipi.Senet:
                            OdemeEmriEkle(serverName, databaseName, userName, password, refNo, vade, meblag, bankaAdi, subeAdi, hesapNo, refNo, cariKodu, seri, sira, "", "", 3);
                            break;
                    }
                }
                cn.Close();
            }
            return "";
        }
        private void OdemeEmriEkle(string serverName, string databaseName, string userName, string password, string refNo, DateTime vade, decimal tutar, string banka, string sube, string hesapno, string cekno, string cari, string evrakSeri, int evrakSira, string kesideYeri, string kredikartNo, int islemTipi)
        {
            int cariCins = 0;
            int cariGrup = 0;
            int karsiCariCins = 4;
            int karsiCariGrupKodu = 0;
            int sonPoz = 0;
            int sckTip = 0;

            switch (islemTipi)
            {
                case 0://kredi kartı
                    cariCins = 0;
                    cariGrup = 0;
                    karsiCariCins = 2;
                    karsiCariGrupKodu = 7;
                    sonPoz = 2;
                    sckTip = 6;
                    break;
                case 1: //çek
                    cariCins = 0;
                    cariGrup = 0;
                    karsiCariCins = 4;
                    karsiCariGrupKodu = 0;
                    sonPoz = 0;
                    sckTip = 0;
                    break;
                case 2: //havale
                    cariCins = 0;
                    cariGrup = 0;
                    karsiCariCins = 2;
                    karsiCariGrupKodu = 9;
                    sonPoz = 2;
                    sckTip = 4;
                    break;
                case 3: //senet
                    cariCins = 0;
                    cariGrup = 0;
                    karsiCariCins = 4;
                    karsiCariGrupKodu = 0;
                    sonPoz = 0;
                    sckTip = 1;
                    break;
                default:
                    break;
            }

            string sql = "if not exists(select sck_refno from ODEME_EMIRLERI where sck_refno=@sck_refno) insert into ODEME_EMIRLERI (sck_RECid_DBCno,sck_RECid_RECno,sck_SpecRECno,sck_iptal,sck_fileid,sck_hidden,sck_kilitli,sck_degisti,sck_checksum,sck_create_user,sck_create_date,sck_lastup_user,sck_lastup_date,sck_special1,sck_special2,sck_special3,sck_firmano,sck_subeno,sck_tip,sck_refno,sck_bankano,sck_borclu,sck_vdaire_no,sck_vade,sck_tutar,sck_doviz,sck_odenen,sck_degerleme_islendi,sck_banka_adres1,sck_sube_adres2,sck_borclu_tel,sck_hesapno_sehir,sck_no,sck_duzen_tarih,sck_sahip_cari_cins,sck_sahip_cari_kodu,sck_sahip_cari_grupno,sck_nerede_cari_cins,sck_nerede_cari_kodu,sck_nerede_cari_grupno,sck_ilk_hareket_tarihi,sck_ilk_evrak_seri,sck_ilk_evrak_sira_no,sck_ilk_evrak_satir_no,sck_son_hareket_tarihi,sck_doviz_kur,sck_sonpoz,sck_imza,sck_srmmrk,sck_kesideyeri,Sck_TCMB_Banka_kodu,Sck_TCMB_Sube_kodu,Sck_TCMB_il_kodu,SckTasra_fl,sck_projekodu,sck_masraf1,sck_masraf1_isleme,sck_masraf2,sck_masraf2_isleme,sck_odul_katkisi_tutari,sck_servis_komisyon_tutari,sck_erken_odeme_faiz_tutari,sck_odul_katkisi_tutari_islendi_fl,sck_servis_komisyon_tutari_islendi_fl,sck_erken_odeme_faiz_tutari_islendi_fl,sck_kredi_karti_tipi,sck_taksit_sayisi,sck_kacinci_taksit,sck_uye_isyeri_no,sck_kredi_karti_no,sck_provizyon_kodu) values (@sck_RECid_DBCno,@sck_RECid_RECno,@sck_SpecRECno,@sck_iptal,@sck_fileid,@sck_hidden,@sck_kilitli,@sck_degisti,@sck_checksum,@sck_create_user,@sck_create_date,@sck_lastup_user,@sck_lastup_date,@sck_special1,@sck_special2,@sck_special3,@sck_firmano,@sck_subeno,@sck_tip,@sck_refno,@sck_bankano,@sck_borclu,@sck_vdaire_no,@sck_vade,@sck_tutar,@sck_doviz,@sck_odenen,@sck_degerleme_islendi,@sck_banka_adres1,@sck_sube_adres2,@sck_borclu_tel,@sck_hesapno_sehir,@sck_no,@sck_duzen_tarih,@sck_sahip_cari_cins,@sck_sahip_cari_kodu,@sck_sahip_cari_grupno,@sck_nerede_cari_cins,@sck_nerede_cari_kodu,@sck_nerede_cari_grupno,@sck_ilk_hareket_tarihi,@sck_ilk_evrak_seri,@sck_ilk_evrak_sira_no,@sck_ilk_evrak_satir_no,@sck_son_hareket_tarihi,@sck_doviz_kur,@sck_sonpoz,@sck_imza,@sck_srmmrk,@sck_kesideyeri,@Sck_TCMB_Banka_kodu,@Sck_TCMB_Sube_kodu,@Sck_TCMB_il_kodu,@SckTasra_fl,@sck_projekodu,@sck_masraf1,@sck_masraf1_isleme,@sck_masraf2,@sck_masraf2_isleme,@sck_odul_katkisi_tutari,@sck_servis_komisyon_tutari,@sck_erken_odeme_faiz_tutari,@sck_odul_katkisi_tutari_islendi_fl,@sck_servis_komisyon_tutari_islendi_fl,@sck_erken_odeme_faiz_tutari_islendi_fl,@sck_kredi_karti_tipi,@sck_taksit_sayisi,@sck_kacinci_taksit,@sck_uye_isyeri_no,@sck_kredi_karti_no,@sck_provizyon_kodu);UPDATE ODEME_EMIRLERI SET sck_RECid_RECno=sck_RECno WHERE sck_RECid_RECno=-1";
            using (SqlConnection cn = new SqlConnection(string.Format("Data Source={0};Database={1};user id={2};password={3}", serverName, databaseName, userName, password)))
            {
                using (SqlCommand cmd = new SqlCommand(sql, cn))
                {
                    cmd.Parameters.Add("@sck_RECid_DBCno", SqlDbType.SmallInt).Value = 0;
                    cmd.Parameters.Add("@sck_RECid_RECno", SqlDbType.Int).Value = -99;
                    cmd.Parameters.Add("@sck_SpecRECno", SqlDbType.Int).Value = 0;
                    cmd.Parameters.Add("@sck_iptal", SqlDbType.Bit).Value = false;
                    cmd.Parameters.Add("@sck_fileid", SqlDbType.SmallInt).Value = 54;
                    cmd.Parameters.Add("@sck_hidden", SqlDbType.Bit).Value = false;
                    cmd.Parameters.Add("@sck_kilitli", SqlDbType.Bit).Value = false;
                    cmd.Parameters.Add("@sck_degisti", SqlDbType.Bit).Value = false;
                    cmd.Parameters.Add("@sck_checksum", SqlDbType.Int).Value = 0;
                    cmd.Parameters.Add("@sck_create_user", SqlDbType.SmallInt).Value = 0;
                    cmd.Parameters.Add("@sck_create_date", SqlDbType.DateTime).Value = DateTime.Now;
                    cmd.Parameters.Add("@sck_lastup_user", SqlDbType.SmallInt).Value = 0;
                    cmd.Parameters.Add("@sck_lastup_date", SqlDbType.DateTime).Value = DateTime.Now;
                    cmd.Parameters.Add("@sck_special1", SqlDbType.VarChar).Value = "";
                    cmd.Parameters.Add("@sck_special2", SqlDbType.VarChar).Value = "";
                    cmd.Parameters.Add("@sck_special3", SqlDbType.VarChar).Value = "";
                    cmd.Parameters.Add("@sck_firmano", SqlDbType.Int).Value = 0;
                    cmd.Parameters.Add("@sck_subeno", SqlDbType.Int).Value = 0;
                    cmd.Parameters.Add("@sck_tip", SqlDbType.TinyInt).Value = sckTip;
                    cmd.Parameters.Add("@sck_refno", SqlDbType.VarChar, 25).Value = refNo; //çek kredi kart vs no
                    cmd.Parameters.Add("@sck_bankano", SqlDbType.VarChar).Value = "";
                    cmd.Parameters.Add("@sck_borclu", SqlDbType.VarChar).Value = "";
                    cmd.Parameters.Add("@sck_vdaire_no", SqlDbType.VarChar).Value = "";
                    cmd.Parameters.Add("@sck_vade", SqlDbType.DateTime).Value = vade;
                    cmd.Parameters.Add("@sck_tutar", SqlDbType.Float).Value = tutar;
                    cmd.Parameters.Add("@sck_doviz", SqlDbType.TinyInt).Value = 0;
                    cmd.Parameters.Add("@sck_odenen", SqlDbType.Float).Value = 0;
                    cmd.Parameters.Add("@sck_degerleme_islendi", SqlDbType.TinyInt).Value = 0;
                    cmd.Parameters.Add("@sck_banka_adres1", SqlDbType.VarChar).Value = banka;
                    cmd.Parameters.Add("@sck_sube_adres2", SqlDbType.VarChar).Value = sube;
                    cmd.Parameters.Add("@sck_borclu_tel", SqlDbType.VarChar).Value = "";
                    cmd.Parameters.Add("@sck_hesapno_sehir", SqlDbType.VarChar, 20).Value = hesapno;
                    cmd.Parameters.Add("@sck_no", SqlDbType.VarChar).Value = cekno;
                    cmd.Parameters.Add("@sck_duzen_tarih", SqlDbType.DateTime).Value = DateTime.Now;
                    cmd.Parameters.Add("@sck_sahip_cari_cins", SqlDbType.TinyInt).Value = cariCins;
                    cmd.Parameters.Add("@sck_sahip_cari_kodu", SqlDbType.VarChar).Value = cari;
                    cmd.Parameters.Add("@sck_sahip_cari_grupno", SqlDbType.TinyInt).Value = cariGrup;
                    cmd.Parameters.Add("@sck_nerede_cari_cins", SqlDbType.TinyInt).Value = karsiCariCins;
                    cmd.Parameters.Add("@sck_nerede_cari_kodu", SqlDbType.VarChar).Value = cari;
                    cmd.Parameters.Add("@sck_nerede_cari_grupno", SqlDbType.TinyInt).Value = karsiCariGrupKodu;
                    cmd.Parameters.Add("@sck_ilk_hareket_tarihi", SqlDbType.DateTime).Value = DateTime.Now;
                    cmd.Parameters.Add("@sck_ilk_evrak_seri", SqlDbType.VarChar).Value = evrakSeri;
                    cmd.Parameters.Add("@sck_ilk_evrak_sira_no", SqlDbType.Int).Value = evrakSira;
                    cmd.Parameters.Add("@sck_ilk_evrak_satir_no", SqlDbType.Int).Value = 0;
                    cmd.Parameters.Add("@sck_son_hareket_tarihi", SqlDbType.DateTime).Value = DateTime.Now;
                    cmd.Parameters.Add("@sck_doviz_kur", SqlDbType.Float).Value = 1;
                    cmd.Parameters.Add("@sck_sonpoz", SqlDbType.TinyInt).Value = sonPoz;
                    cmd.Parameters.Add("@sck_imza", SqlDbType.TinyInt).Value = 0;
                    cmd.Parameters.Add("@sck_srmmrk", SqlDbType.VarChar).Value = 1;
                    cmd.Parameters.Add("@sck_kesideyeri", SqlDbType.VarChar).Value = kesideYeri;
                    cmd.Parameters.Add("@Sck_TCMB_Banka_kodu", SqlDbType.VarChar).Value = "";
                    cmd.Parameters.Add("@Sck_TCMB_Sube_kodu", SqlDbType.VarChar).Value = "";
                    cmd.Parameters.Add("@Sck_TCMB_il_kodu", SqlDbType.VarChar).Value = "";
                    cmd.Parameters.Add("@SckTasra_fl", SqlDbType.Bit).Value = false;
                    cmd.Parameters.Add("@sck_projekodu", SqlDbType.VarChar).Value = "";
                    cmd.Parameters.Add("@sck_masraf1", SqlDbType.Float).Value = 0;
                    cmd.Parameters.Add("@sck_masraf1_isleme", SqlDbType.TinyInt).Value = 0;
                    cmd.Parameters.Add("@sck_masraf2", SqlDbType.Float).Value = 0;
                    cmd.Parameters.Add("@sck_masraf2_isleme", SqlDbType.TinyInt).Value = 0;
                    cmd.Parameters.Add("@sck_odul_katkisi_tutari", SqlDbType.Float).Value = 0;
                    cmd.Parameters.Add("@sck_servis_komisyon_tutari", SqlDbType.Float).Value = 0;
                    cmd.Parameters.Add("@sck_erken_odeme_faiz_tutari", SqlDbType.Float).Value = 0;
                    cmd.Parameters.Add("@sck_odul_katkisi_tutari_islendi_fl", SqlDbType.Bit).Value = false;
                    cmd.Parameters.Add("@sck_servis_komisyon_tutari_islendi_fl", SqlDbType.Bit).Value = false;
                    cmd.Parameters.Add("@sck_erken_odeme_faiz_tutari_islendi_fl", SqlDbType.Bit).Value = false;
                    cmd.Parameters.Add("@sck_kredi_karti_tipi", SqlDbType.TinyInt).Value = 0;
                    cmd.Parameters.Add("@sck_taksit_sayisi", SqlDbType.SmallInt).Value = 0;
                    cmd.Parameters.Add("@sck_kacinci_taksit", SqlDbType.SmallInt).Value = 0;
                    cmd.Parameters.Add("@sck_uye_isyeri_no", SqlDbType.VarChar).Value = "";
                    cmd.Parameters.Add("@sck_kredi_karti_no", SqlDbType.VarChar, 16).Value = kredikartNo;
                    cmd.Parameters.Add("@sck_provizyon_kodu", SqlDbType.VarChar).Value = "";

                    cn.Open();
                    cmd.ExecuteNonQuery();
                }
                cn.Close();
            }
        }
        //private string TahsilatReferansNo(TahsilatTipi tip)
        //{
        //    int sck_tip = -1;
        //    string refno = "";
        //    switch (tip)
        //    {
        //        case TahsilatTipi.Cek:
        //            refno = "MC";
        //            sck_tip = 0;
        //            break;
        //        case TahsilatTipi.Senet:
        //            refno = "MS";
        //            sck_tip = 1;
        //            break;
        //        case TahsilatTipi.KrediKarti:
        //            refno = "MK";
        //            sck_tip = 6;
        //            break;
        //        case TahsilatTipi.Havale:
        //            refno = "MH";
        //            sck_tip = 4;
        //            break;
        //    }
        //    string sql = string.Format("exec sp_executesql N'SELECT TOP 1 sck_refno FROM ODEME_EMIRLERI WITH ( NOLOCK , INDEX = NDX_ODEME_EMIRLERI_02 )  WHERE ((sck_tip={0} AND sck_refno<''{1}-000-000-{2}-ÿÿÿÿÿÿÿÿ'')) AND ((sck_refno like ''{1}-000-000-{2}-________'')) ORDER BY sck_tip DESC,sck_refno DESC'", sck_tip, refno, DateTime.Now.Year.ToString("0000"));
        //    object sonuc = null;
        //    using (SqlConnection cn = new SqlConnection(string.Format("Data Source={0};Database={1};user id={2};password={3}", serverName, databaseName, userName, password)))
        //    {
        //        cn.Open();
        //        using (SqlCommand cmd = new SqlCommand(sql, cn))
        //        {
        //            sonuc = cmd.ExecuteScalar();
        //        }
        //        cn.Close();
        //    }
        //    string referans_no = "";
        //    if (sonuc != null)
        //    {
        //        if (sonuc != DBNull.Value)
        //        {
        //            string[] refval = sonuc.ToString().Split('-');
        //            int lastno = Convert.ToInt32(refval[refval.Length - 1]);
        //            referans_no = string.Format("{0}-000-000-{1}-{2}", refno, DateTime.Now.Year.ToString("0000"), (lastno + 1).ToString("00000000"));
        //        }
        //    }
        //    if (referans_no == "")
        //        referans_no = string.Format("{0}-000-000-{1}-{2}", refno, DateTime.Now.Year.ToString("0000"), "00000001");

        //    return referans_no;
        //}

    }
}
